
	
		use "Data/Cleaned/endline_1_merged_cleaned.dta", clear
	

	
* Replicate Figure 1
	
		reg aff_pol_idx_noneg treat_control_study2 i.partyID_merged BA_listserv 
			margins, dydx(treat_control_study2)
				matrix aff_pol_idx_noneg_ITT = r(table)
					matselrc aff_pol_idx_noneg_ITT aff_pol_idx_noneg_ITT, r(1, 5, 6) c(1)
		
		reg aff_pol_idx_noneg treat_control_study2##BA_listserv i.partyID_merged 
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix aff_pol_idx_noneg = r(table)
					matselrc aff_pol_idx_noneg aff_pol_idx_noneg_non_BA, r(1, 5, 6) c(3)
					matselrc aff_pol_idx_noneg aff_pol_idx_noneg_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(aff_pol_idx_noneg_ITT[1,]), ci((aff_pol_idx_noneg_ITT[2,] aff_pol_idx_noneg_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(aff_pol_idx_noneg_non_BA[1,]), ci((aff_pol_idx_noneg_non_BA[2,] aff_pol_idx_noneg_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(aff_pol_idx_noneg_BA[1,]), ci((aff_pol_idx_noneg_BA[2,] aff_pol_idx_noneg_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(aff_pol_idx_noneg, replace) scheme(plotplain) ///
						xtitle("ITT on affective polarization", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))
						
		reg aff_pol_idx_noneg_out treat_control_study2 i.partyID_merged BA_listserv 
			margins, dydx(treat_control_study2)
				matrix aff_pol_idx_noneg_out_ITT = r(table)
					matselrc aff_pol_idx_noneg_out_ITT aff_pol_idx_noneg_out_ITT, r(1, 5, 6) c(1)
		
		reg aff_pol_idx_noneg_out treat_control_study2##BA_listserv i.partyID_merged 
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix aff_pol_idx_noneg_out = r(table)
					matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_non_BA, r(1, 5, 6) c(3)
					matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(aff_pol_idx_noneg_out_ITT[1,]), ci((aff_pol_idx_noneg_out_ITT[2,] aff_pol_idx_noneg_out_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(aff_pol_idx_noneg_out_non_BA[1,]), ci((aff_pol_idx_noneg_out_non_BA[2,] aff_pol_idx_noneg_out_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(aff_pol_idx_noneg_out_BA[1,]), ci((aff_pol_idx_noneg_out_BA[2,] aff_pol_idx_noneg_out_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(aff_pol_idx_noneg_out, replace) scheme(plotplain) ///
						xtitle("ITT on affective polarization (out-party animus only)", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))
							
				graph combine aff_pol_idx_noneg aff_pol_idx_noneg_out, ycommon xcommon scheme(plotplain) col(2) name(aff_pol_idx_comb_ITT_bysample_1, replace)
					graph export "Output/figure_1.pdf", as(pdf) replace
							
							

* Replicate Figure 2

		reg neg_partisan treat_control_study2 i.partyID_merged BA_listserv
			margins, dydx(treat_control_study2)
				matrix neg_partisan_ITT = r(table)
					matselrc neg_partisan_ITT neg_partisan_ITT, r(1, 5, 6) c(1)
		
		reg neg_partisan treat_control_study2##BA_listserv i.partyID_merged
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix neg_partisan = r(table)
					matselrc neg_partisan neg_partisan_non_BA, r(1, 5, 6) c(3)
					matselrc neg_partisan neg_partisan_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(neg_partisan_ITT[1,]), ci((neg_partisan_ITT[2,] neg_partisan_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(neg_partisan_non_BA[1,]), ci((neg_partisan_non_BA[2,] neg_partisan_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(neg_partisan_BA[1,]), ci((neg_partisan_BA[2,] neg_partisan_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(neg_partisan, replace) scheme(plotplain) ///
						xtitle("ITT on negative partisanship", margin(medsmall)) xlabel(-1(.25).55, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))

							graph export "Output/figure_2.pdf", as(pdf) replace


							
							
* Replicate Figure 3

		reg confront_rac_mis_idx treat_control_study2 i.partyID_merged BA_listserv 
			margins, dydx(treat_control_study2)
				matrix confront_rac_mis_idx_ITT = r(table)
					matselrc confront_rac_mis_idx_ITT confront_rac_mis_idx_ITT, r(1, 5, 6) c(1)
		
		reg confront_rac_mis_idx treat_control_study2##BA_listserv i.partyID_merged 
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix confront_rac_mis_idx = r(table)
					matselrc confront_rac_mis_idx confront_rac_mis_idx_non_BA, r(1, 5, 6) c(3)
					matselrc confront_rac_mis_idx confront_rac_mis_idx_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(confront_rac_mis_idx_ITT[1,]), ci((confront_rac_mis_idx_ITT[2,] confront_rac_mis_idx_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(confront_rac_mis_idx_non_BA[1,]), ci((confront_rac_mis_idx_non_BA[2,] confront_rac_mis_idx_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(confront_rac_mis_idx_BA[1,]), ci((confront_rac_mis_idx_BA[2,] confront_rac_mis_idx_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(confront_rac_mis_idx, replace) scheme(plotplain) ///
						xtitle("ITT on comfort confronting harmful out-partisan speech", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))

							graph export "Output/figure_3.pdf", as(pdf) replace
				
						

* Replicate Figure 4


		foreach y of varlist donate_total donate_ba donate_allsides donate_lrc {
			
			local donate_total_lab "all donations"
			local donate_ba_lab "donations to BA"
			local donate_allsides_lab "donations to AllSides"
			local donate_lrc_lab "donations to LRC"
			
			reg `y' treat_control_study2 i.partyID_merged BA_listserv 
				margins, dydx(treat_control_study2)
					matrix `y'_ITT = r(table)
						matselrc `y'_ITT `y'_ITT, r(1, 5, 6) c(1)
				
			reg `y' treat_control_study2##BA_listserv i.partyID_merged
				margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
					matrix `y' = r(table)
						matselrc `y' `y'_non_BA, r(1, 5, 6) c(3)
						matselrc `y' `y'_BA, r(1, 5, 6) c(4)
			
				graph set window fontface "Times"
				coefplot (matrix(`y'_ITT[1,]), ci((`y'_ITT[2,] `y'_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(`y'_non_BA[1,]), ci((`y'_non_BA[2,] `y'_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(`y'_BA[1,]), ci((`y'_BA[2,] `y'_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(`y', replace) scheme(plotplain) ///
						xtitle("ITT on ``y'_lab'", margin(medsmall)) xlabel(-10(2.5)5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))
					
		
				}
					
				graph combine donate_total donate_ba donate_allsides donate_lrc, ycommon xcommon scheme(plotplain) col(2) name(donate_ITT_bysample_1, replace)
					graph export "Output/figure_4.pdf", as(pdf) replace
	
	
	
* Replicate Figure 5


		reg answered_amtalks treat_control_study2 i.partyID_merged BA_listserv
			margins, dydx(treat_control_study2)
				matrix answered_amtalks_ITT = r(table)
					matselrc answered_amtalks_ITT answered_amtalks_ITT, r(1, 5, 6) c(1)
		
		reg answered_amtalks treat_control_study2##BA_listserv i.partyID_merged
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix answered_amtalks = r(table)
					matselrc answered_amtalks answered_amtalks_non_BA, r(1, 5, 6) c(3)
					matselrc answered_amtalks answered_amtalks_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(answered_amtalks_ITT[1,]), ci((answered_amtalks_ITT[2,] answered_amtalks_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(answered_amtalks_non_BA[1,]), ci((answered_amtalks_non_BA[2,] answered_amtalks_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(answered_amtalks_BA[1,]), ci((answered_amtalks_BA[2,] answered_amtalks_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(answered_amtalks, replace) scheme(plotplain) ///
						xtitle("ITT on registrations and expressions of interest for America Talks", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))

							graph export "Output/figure_5.pdf", as(pdf) replace
					
	
	
	
* Replicate Figure 6


		reg antidem_idx treat_control_study2 i.partyID_merged BA_listserv 
			margins, dydx(treat_control_study2)
				matrix antidem_idx_ITT = r(table)
					matselrc antidem_idx_ITT antidem_idx_ITT, r(1, 5, 6) c(1)
		
		reg antidem_idx treat_control_study2##BA_listserv i.partyID_merged 
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix antidem_idx = r(table)
					matselrc antidem_idx antidem_idx_non_BA, r(1, 5, 6) c(3)
					matselrc antidem_idx antidem_idx_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(antidem_idx_ITT[1,]), ci((antidem_idx_ITT[2,] antidem_idx_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(antidem_idx_non_BA[1,]), ci((antidem_idx_non_BA[2,] antidem_idx_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(antidem_idx_BA[1,]), ci((antidem_idx_BA[2,] antidem_idx_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(antidem_idx, replace) scheme(plotplain) ///
						xtitle("ITT on anti-democratic attitudes", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))

							graph export "Output/figure_6.pdf", as(pdf) replace
						
	
	
	
	
* Replicate Figure 7


		preserve

		use "Data/Cleaned/endline_2_merged_cleaned.dta", clear

		mlogit race_mis_multi_either treat_control_study2##BA_listserv i.partyID_merged [pw = ipw_bysample]
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1)) post
				margins, coeflegend
			
				coefplot (, keep(*._predict#1._at) label(L2 database) graphr(color(white)) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(, keep(*._predict#2._at) label(BA listserv) graphr(color(white)) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)), ///
					vertical swapnames yline(0, lcolor(black)) legend(rows(2)) scheme(plotplain) ///
					xtitle("Preferred response to harmful out-partisan speech", margin(medsmall)) xlabel(.85 `""Intervene" "if no conflict""' 2.85 `""Intervene" "regardless""' 4.85 "Ignore" 7.15 `""Intervene" "if no conflict""' 9.15 `""Intervene" "regardless""' 11.15 "Ignore", angle(horizontal)) ///
					ytitle("Treatment effect", margin(medsmall) size(medium)) ylabel(-.5(.1).5)
					
					gr_edit .xaxis2.draw_view.setstyle, style(no)

						graph export "Output/figure_7.pdf", as(pdf) replace

		restore	
					
					
* Replicate Table A1

				
		preserve
		
		append using "Data/Raw/anes_20211118.dta"
		
		la var partyID_merged_D "Democrat"
		la var partyID_merged_R "Republican"
		la var partyID_merged_I "Independent"
		la var age "Age"
		la var gender_endline1_m "Male"
		la var gender_endline1_f "Female"
		la var ethnicity_white "White"
		la var ethnicity_black "Black"
		la var ethnicity_hispanic "Hispanic/Latino"
		la var ethnicity_asian "Asian"
		la var therm_outparty "Out-party warmth"
		la var therm_inparty "In-party warmth"
		la var BA_listserv "BA listserv"
		la var L2_database "L2 database"
				
		estpost summarize partyID_merged_D partyID_merged_R partyID_merged_I age gender_endline1_m gender_endline1_f ethnicity_white ethnicity_black ethnicity_hispanic ethnicity_asian therm_outparty therm_inparty BA_listserv L2_database if ANES!=1
			eststo summstats_all

		estpost summarize partyID_merged_D partyID_merged_R partyID_merged_I age gender_endline1_m gender_endline1_f ethnicity_white ethnicity_black ethnicity_hispanic ethnicity_asian therm_outparty therm_inparty if BA_listserv==0 & ANES!=1
			eststo summstats_L2

		estpost summarize partyID_merged_D partyID_merged_R partyID_merged_I age gender_endline1_m gender_endline1_f ethnicity_white ethnicity_black ethnicity_hispanic ethnicity_asian therm_outparty therm_inparty if BA_listserv==1 & ANES!=1
			eststo summstats_BA

		estpost summarize partyID_merged_D partyID_merged_R partyID_merged_I age gender_endline1_m gender_endline1_f ethnicity_white ethnicity_black ethnicity_hispanic ethnicity_asian therm_outparty therm_inparty if ANES==1
			eststo summstats_ANES

		esttab summstats_all summstats_L2 summstats_BA summstats_ANES using "Output/table_A1.tex", replace ///	
			booktabs cell((mean(label(Mean) fmt(%9.2f)) sd(label(S.D.) fmt(%9.2f)) count(label(N) fmt(%9.0f)))) eqlabels(none) nomtitle noobs nonumber nonotes label ///
			mgroups("Full sample" "L2 database" "BA listserv" "ANES", pattern(1 0 0 1 0 0 1 0 0 1 0 0) ///
			prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span}))
						 
		drop if ANES==1
			 
		restore	

	
	


* Replicate Table A2


				preserve

				use "Data/Cleaned/endline_1_merged_cleaned.dta", clear

				la var aff_pol_idx_noneg "Affective polarization"
				la var aff_pol_idx_noneg_out "Affective polarization (out-party animus only)"
				la var donate_total "All donations"
				la var donate_ba "Donations to BA"
				la var donate_allsides "Donations to AllSides"
				la var donate_lrc "Donations to LRC"
				la var answered_amtalks "Registrations and expressions of interest for America Talks"
				la var antidem_idx "Anti-democratic attitudes"
				la var confront_rac_mis_idx "Comfort confronting harmful out-partisan speech"
				la var neg_partisan "Negative partisanship"
				la var perspective_idx "Cross-partisan perspective taking"
						
				gl DVs aff_pol_idx_noneg aff_pol_idx_noneg_out donate_total donate_ba donate_allsides donate_lrc answered_amtalks antidem_idx confront_rac_mis_idx neg_partisan perspective_idx
						
				foreach x of varlist $DVs {
					ttest `x' if treat_control_study2==0, by(BA_listserv)
				}
						
				estpost summarize $DVs if treat_control_study2==0 & BA_listserv==0
					eststo summstats_L2

				estpost summarize $DVs if treat_control_study2==0 & BA_listserv==1
					eststo summstats_BA

				esttab summstats_L2 summstats_BA using "Output/table_A2.tex", replace ///	
					booktabs cell((mean(label(Mean) fmt(%9.2f)) sd(label(S.D.) fmt(%9.2f)) count(label(N) fmt(%9.0f)))) eqlabels(none) nomtitle noobs nonumber nonotes label ///
					mgroups("L2 database" "BA listserv", pattern(1 1) ///
					prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span}))
					 
				restore	



		
* Replicate Table A3


				preserve
			
				la var BA_listserv "BA listserv"
				la var partyID_merged_D "Democrat"
				la var partyID_merged_R "Republican"
				la var age "Age"
				la var gender_endline1_m "Male"
				la var ethnicity_white "White"
				la var ethnicity_black "Black"
				la var ethnicity_hispanic "Hispanic/Latino"
				la var ethnicity_asian "Asian"
				la var previous_BA_any "Attendance at past BA events"
				
				eststo treat_control_Q: reg treat_control_study2 BA_listserv partyID_merged_D partyID_merged_R 
					local F_stat_Q = round(e(F),.001)	
					
				eststo treat_control_Q_end: reg treat_control_study2 BA_listserv partyID_merged_D partyID_merged_R age gender_endline1_m ethnicity_white ethnicity_black ethnicity_hispanic ethnicity_asian
					local F_stat_Q_end = round(e(F),.001)	
				
				esttab treat_control_Q treat_control_Q_end using "Output/table_A3.tex", replace ///
					label booktabs b(3) se(3) eqlabels(none) br nonotes nocons star(* 0.10 ** 0.05 *** 0.01) ///
					nomtitle collabels(none) mgroups("Assigned to treatment", pattern(1 0) ///
					prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span}))
				
				restore
							

					
					
* Replicate Table A4

			
				preserve
			
				gen treat_control_study2_BA_listserv = treat_control_study2*BA_listserv
			
				la var treat_control_study2 "Treatment assignment"
				la var BA_listserv "BA listserv"
				la var treat_control_study2_BA_listserv "Treatment assignment $\times$ BA listserv"
			
				eststo complier_treat: reg complier treat_control_study2
					estadd local F_stat = round(e(F),.001)	
				eststo complier_BA_listserv: reg complier BA_listserv
					estadd local F_stat = round(e(F),.001)	
				eststo complier_treat_BA_listserv: reg complier treat_control_study2 BA_listserv treat_control_study2_BA_listserv
					estadd local F_stat = round(e(F),.001)	

				eststo attend_any_treat: reg attend_any treat_control_study2
					estadd local F_stat = round(e(F),.001)	
				eststo attend_any_BA_listserv: reg attend_any BA_listserv
					estadd local F_stat = round(e(F),.001)	
				eststo attend_any_treat_BA: reg attend_any treat_control_study2 BA_listserv treat_control_study2_BA_listserv
					estadd local F_stat = round(e(F),.001)	
					
				esttab complier_treat complier_BA_listserv complier_treat_BA_listserv attend_any_treat attend_any_BA_listserv attend_any_treat_BA using "Output/table_A4.tex", replace ///
					label booktabs b(3) se(3) eqlabels(none) br nonotes nocons star(* 0.10 ** 0.05 *** 0.01) ///
					nomtitle collabels(none) mgroups("Complier" "Attendee", pattern(1 0 0 1 0 0) ///
					prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span}))  ///
					scalar(F)

					
				restore


		
		
* Replicate Table A5


				preserve
			
				gen attend_BA_listserv = attend_any*BA_listserv
				gen treat_BA_listserv = treat_control_study2*BA_listserv
				
				la var attend_any "Attendance"
				la var BA_listserv "BA listserv"
				la var attend_BA_listserv "Attendance $\times$ BA listserv"
				la var partyID_merged_D "Democrat"
				la var partyID_merged_R "Republican"
				
				eststo IV_ITT_affpol: ivregress 2sls aff_pol_idx_noneg (attend_any = treat_control_study2) BA_listserv partyID_merged_D partyID_merged_R  

				eststo IV_HTE_affpol: ivregress 2sls aff_pol_idx_noneg (attend_any attend_BA_listserv = treat_control_study2  treat_BA_listserv) BA_listserv partyID_merged_D partyID_merged_R 

				eststo IV_ITT_affpol_out: ivregress 2sls aff_pol_idx_noneg_out (attend_any = treat_control_study2) BA_listserv partyID_merged_D partyID_merged_R 

				eststo IV_HTE_affpol_out: ivregress 2sls aff_pol_idx_noneg_out (attend_any attend_BA_listserv = treat_control_study2  treat_BA_listserv)  BA_listserv partyID_merged_D partyID_merged_R 

				eststo IV_ITT_racemis: ivregress 2sls confront_rac_mis_idx BA_listserv partyID_merged_D partyID_merged_R (attend_any = treat_control_study2) 

				eststo IV_HTE_racemis: ivregress 2sls confront_rac_mis_idx BA_listserv partyID_merged_D partyID_merged_R (attend_any attend_BA_listserv = treat_control_study2  treat_BA_listserv) 
				
				esttab IV_ITT_affpol IV_HTE_affpol IV_ITT_affpol_out IV_HTE_affpol_out IV_ITT_racemis IV_HTE_racemis using "Output/table_A5.tex", replace ///
					label booktabs b(3) se(3) eqlabels(none) br nonotes nocons star(* 0.10 ** 0.05 *** 0.01) ///
					nomtitle collabels(none) mgroups("\shortstack{Affective \\ polarization}" "\shortstack{Affective \\ polarization (out- \\ party animus only)}" "\shortstack{Comfort confronting \\ harmful out-partisan \\ speech}", pattern(1 0 1 0 1 0) ///
					prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span}))

				
				restore

				
				
		
* Replicate Table A6


				preserve
			
				gen treat_control_study2_BA_listserv = treat_control_study2*BA_listserv
				gen treat_control_study2_partyID_D = treat_control_study2*partyID_merged_Dem
				gen treat_control_study2_partyID_R = treat_control_study2*partyID_merged_Rep
				gen treat_control_study2_partyID_I = treat_control_study2*partyID_merged_Ind
				gen treat_control_study2_previous_BA = treat_control_study2*previous_BA_any	
			
				la var treat_control_study2 "Treatment assignment"
				la var BA_listserv "BA listserv"
				la var partyID_merged_D "Democrat"
				la var partyID_merged_R "Republican"
				la var partyID_merged_I "Independent"
				la var previous_BA_any "Attendance at past BA events"
				la var treat_control_study2_BA_listserv "Treatment assignment $\times$ BA listserv"
				la var treat_control_study2_partyID_D "Treatment assignment $\times$ Democrat"
				la var treat_control_study2_partyID_R "Treatment assignment $\times$ Republican"
				la var treat_control_study2_previous_BA "Treatment assignment $\times$ attendance at past BA events"
			
				eststo attrition1_treat: reg attrition_endline1 treat_control_study2
					estadd local F_stat = round(e(F),.001)	
				eststo attrition1_BA_listserv: reg attrition_endline1 BA_listserv
					estadd local F_stat = round(e(F),.001)	
				eststo attrition1_treat_BA: reg attrition_endline1 treat_control_study2 BA_listserv treat_control_study2_BA_listserv
					estadd local F_stat = round(e(F),.001)	
				eststo attrition1_treat_all: reg attrition_endline1 treat_control_study2 BA_listserv treat_control_study2_BA_listserv partyID_merged_D treat_control_study2_partyID_D partyID_merged_R treat_control_study2_partyID_R previous_BA_any treat_control_study2_previous_BA
					estadd local F_stat = round(e(F),.001)	

				eststo attrition2_treat: reg attrition_endline2 treat_control_study2
					estadd local F_stat = round(e(F),.001)	
				eststo attrition2_BA_listserv: reg attrition_endline2 BA_listserv
					estadd local F_stat = round(e(F),.001)	
				eststo attrition2_treat_BA: reg attrition_endline2 treat_control_study2 BA_listserv treat_control_study2_BA_listserv
					estadd local F_stat = round(e(F),.001)	
				eststo attrition2_treat_all: reg attrition_endline2 treat_control_study2 BA_listserv treat_control_study2_BA_listserv partyID_merged_D treat_control_study2_partyID_D partyID_merged_R treat_control_study2_partyID_R previous_BA_any treat_control_study2_previous_BA
					estadd local F_stat = round(e(F),.001)	

					
				esttab attrition1_treat attrition1_BA_listserv attrition1_treat_BA attrition1_treat_all attrition2_treat attrition2_BA_listserv attrition2_treat_BA attrition2_treat_all using "Output/table_A6.tex", replace ///
					label booktabs b(3) se(3) eqlabels(none) br nonotes nocons star(* 0.10 ** 0.05 *** 0.01) ///
					nomtitle collabels(none) mgroups("Endline 1 attriter" "Endline 2 attriter", pattern(1 0 0 0 1 0 0 0) ///
					prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) ///
					scalar(F)
				
				restore



		
	
* Replicate Table A7

			preserve
			
			use "Data/Cleaned/baseline_merged_cleaned.dta", clear

			gen partyID_merged_Dem = (partyID_merged==0)
			gen partyID_merged_Rep = (partyID_merged==1)
			gen partyID_merged_Ind = (partyID_merged==2)

			gen treat_control_study2_aff_pol = treat_control_study2*aff_pol_idx_noneg
			gen treat_control_study2_neg_part = treat_control_study2*neg_partisan
			gen treat_control_study2_antidem = treat_control_study2*antidem_idx
			gen treat_control_study2_BA_listserv = treat_control_study2*BA_listserv
			gen treat_control_study2_partyID_D = treat_control_study2*partyID_merged_Dem
			gen treat_control_study2_partyID_R = treat_control_study2*partyID_merged_Rep
			gen treat_control_study2_partyID_I = treat_control_study2*partyID_merged_Ind
			gen treat_control_study2_previous_BA = treat_control_study2*previous_BA_any	

			la var treat_control_study2 "Treatment assignment"
			la var aff_pol_idx_noneg "Affective polarization"
			la var neg_partisan "Negative partisanship"
			la var antidem_idx "Anti-democratic attitudes"

			la var treat_control_study2_aff_pol "Treatment assignment $\times$ affective polarization"
			la var treat_control_study2_neg_part "Treatment assignment $\times$ negative partisanship"
			la var treat_control_study2_antidem "Treatment assignment $\times$ anti-democratic attitudes"
			
			eststo attrition1_aff_pol: reg attrition_endline1 aff_pol_idx_noneg
			eststo attrition2_aff_pol: reg attrition_endline2 aff_pol_idx_noneg

			eststo attrition1_aff_pol_int: reg attrition_endline1 aff_pol_idx_noneg treat_control_study2 treat_control_study2_aff_pol
			eststo attrition2_aff_pol_int: reg attrition_endline2 aff_pol_idx_noneg treat_control_study2 treat_control_study2_aff_pol

			eststo attrition1_all_int: reg attrition_endline1 aff_pol_idx_noneg treat_control_study2 treat_control_study2_aff_pol neg_partisan treat_control_study2_neg_part antidem_idx treat_control_study2_antidem
			eststo attrition2_all_int: reg attrition_endline2 aff_pol_idx_noneg treat_control_study2 treat_control_study2_aff_pol neg_partisan treat_control_study2_neg_part antidem_idx treat_control_study2_antidem
			
				esttab attrition1_aff_pol attrition1_aff_pol_int attrition1_all_int attrition2_aff_pol attrition2_aff_pol_int attrition2_all_int using "Output/table_A7.tex", replace ///
					label booktabs b(3) se(3) eqlabels(none) br nonotes nocons star(* 0.10 ** 0.05 *** 0.01) ///
					nomtitle collabels(none) mgroups("Endline 1 attriter" "Endline 2 attriter", pattern(1 0 0 1 0 0 0) ///
					prefix(\multicolumn{@span}{c}{) suffix(}) span erepeat(\cmidrule(lr){@span})) ///
					scalar(F)

			restore

* Replicate Figure A1
			
			

				reg aff_pol_idx_noneg treat_control_study2##i.partyID_merged BA_listserv
					margins, dydx(treat_control_study2) at(partyID_merged=(0(1)2)) post
						matrix aff_pol_idx_noneg = r(table)
							matselrc aff_pol_idx_noneg aff_pol_idx_noneg_Dem, r(1, 5, 6) c(4)
							matselrc aff_pol_idx_noneg aff_pol_idx_noneg_Rep, r(1, 5, 6) c(5)
							matselrc aff_pol_idx_noneg aff_pol_idx_noneg_Ind, r(1, 5, 6) c(6)

				graph set window fontface "Times"
				coefplot (matrix(aff_pol_idx_noneg_Dem[1,]), ci((aff_pol_idx_noneg_Dem[2,] aff_pol_idx_noneg_Dem[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(aff_pol_idx_noneg_Rep[1,]), ci((aff_pol_idx_noneg_Rep[2,] aff_pol_idx_noneg_Rep[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(triangle)) ///
					(matrix(aff_pol_idx_noneg_Ind[1,]), ci((aff_pol_idx_noneg_Ind[2,] aff_pol_idx_noneg_Ind[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(circle)), ///
						name(aff_pol_idx_noneg, replace) scheme(plotplain) ///
						xtitle("ITT on affective polarization", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						ytitle("", margin(medsmall)) ylabel(, nogrid notick nolabels) ///
						title("", margin(medsmall)) ///
						legend(on nostack position(6) cols(3)order(2 "Democrats" 4 "Republicans" 6 "Independents")) ///
						xline(0, lcolor(black) lpattern(dash)) 
	
				reg aff_pol_idx_noneg_out treat_control_study2##i.partyID_merged BA_listserv
					margins, dydx(treat_control_study2) at(partyID_merged=(0(1)2)) post
						matrix aff_pol_idx_noneg_out = r(table)
							matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_Dem, r(1, 5, 6) c(4)
							matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_Rep, r(1, 5, 6) c(5)
							matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_Ind, r(1, 5, 6) c(6)

				graph set window fontface "Times"
				coefplot (matrix(aff_pol_idx_noneg_out_Dem[1,]), ci((aff_pol_idx_noneg_out_Dem[2,] aff_pol_idx_noneg_out_Dem[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(aff_pol_idx_noneg_out_Rep[1,]), ci((aff_pol_idx_noneg_out_Rep[2,] aff_pol_idx_noneg_out_Rep[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(triangle)) ///
					(matrix(aff_pol_idx_noneg_out_Ind[1,]), ci((aff_pol_idx_noneg_out_Ind[2,] aff_pol_idx_noneg_out_Ind[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(circle)), ///
						name(aff_pol_idx_noneg_out, replace) scheme(plotplain) ///
						xtitle("ITT on affective polarization (out-party animus only)", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						ytitle("", margin(medsmall)) ylabel(, nogrid notick nolabels) ///
						title("", margin(medsmall)) ///
						legend(on nostack position(6) cols(3)order(2 "Democrats" 4 "Republicans" 6 "Independents")) ///
						xline(0, lcolor(black) lpattern(dash)) 
	
			graph combine aff_pol_idx_noneg aff_pol_idx_noneg_out, ycommon xcommon scheme(plotplain) col(2) name(aff_pol_idx_comb_ITT_bypartyID_1, replace)
					graph export "Output/figure_A1.pdf", as(pdf) replace

											
											
											
											
* Replicate Figure A2 


			reg aff_pol_idx_noneg treat_control_study2##previous_BA_any BA_listserv i.partyID_merged
					margins, dydx(treat_control_study2) at(previous_BA_any=(0(1)1)) post
						matrix aff_pol_idx_noneg = r(table)
						matselrc aff_pol_idx_noneg aff_pol_idx_noneg_non_BA, r(1, 5, 6) c(3)
						matselrc aff_pol_idx_noneg aff_pol_idx_noneg_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(aff_pol_idx_noneg_BA[1,]), ci((aff_pol_idx_noneg_BA[2,] aff_pol_idx_noneg_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(aff_pol_idx_noneg_non_BA[1,]), ci((aff_pol_idx_noneg_non_BA[2,] aff_pol_idx_noneg_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(triangle)), ///
						name(aff_pol_idx_noneg, replace) scheme(plotplain) ///
						xtitle("ITT on affective polarization", margin(medsmall)) xlabel(-.5(.25).5, nogrid) ///
						ytitle("", margin(medsmall)) ylabel(, nogrid notick nolabels) ///
						title("", margin(medsmall)) ///
						legend(on nostack position(6) cols(2)order(2 "Past BA events" 4 "No past BA events")) ///
						xline(0, lcolor(black) lpattern(dash)) 
	
			reg aff_pol_idx_noneg_out treat_control_study2##previous_BA_any BA_listserv i.partyID_merged
					margins, dydx(treat_control_study2) at(previous_BA_any=(0(1)1)) post
						matrix aff_pol_idx_noneg_out = r(table)
						matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_non_BA, r(1, 5, 6) c(3)
						matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(aff_pol_idx_noneg_out_BA[1,]), ci((aff_pol_idx_noneg_out_BA[2,] aff_pol_idx_noneg_out_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(aff_pol_idx_noneg_out_non_BA[1,]), ci((aff_pol_idx_noneg_out_non_BA[2,] aff_pol_idx_noneg_out_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(triangle)), ///
						name(aff_pol_idx_noneg_out, replace) scheme(plotplain) ///
						xtitle("ITT on affective polarization (out-party animus only)", margin(medsmall)) xlabel(-.5(.25).5, nogrid) ///
						ytitle("", margin(medsmall)) ylabel(, nogrid notick nolabels) ///
						title("", margin(medsmall)) ///
						legend(on nostack position(6) cols(2)order(2 "Past BA events" 4 "No past BA events")) ///
						xline(0, lcolor(black) lpattern(dash)) 
	
			graph combine aff_pol_idx_noneg aff_pol_idx_noneg_out, ycommon xcommon scheme(plotplain) col(2) name(aff_pol_idx_comb_ITT_bypastBA_1, replace)
					graph export "Output/figure_A2.pdf", as(pdf) replace

					
					
					
* Replicate Figure A3					

		reg clicked_amtalks treat_control_study2 i.partyID_merged BA_listserv
			margins, dydx(treat_control_study2)
				matrix clicked_amtalks_ITT = r(table)
					matselrc clicked_amtalks_ITT clicked_amtalks_ITT, r(1, 5, 6) c(1)
		
		reg clicked_amtalks treat_control_study2##BA_listserv i.partyID_merged
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix clicked_amtalks = r(table)
					matselrc clicked_amtalks clicked_amtalks_non_BA, r(1, 5, 6) c(3)
					matselrc clicked_amtalks clicked_amtalks_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(clicked_amtalks_ITT[1,]), ci((clicked_amtalks_ITT[2,] clicked_amtalks_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(clicked_amtalks_non_BA[1,]), ci((clicked_amtalks_non_BA[2,] clicked_amtalks_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(clicked_amtalks_BA[1,]), ci((clicked_amtalks_BA[2,] clicked_amtalks_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(clicked_amtalks, replace) scheme(plotplain) ///
						xtitle("ITT on clicking on America Talks", margin(medsmall)) xlabel(-.5(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))

							graph export "Output/figure_A3.pdf", as(pdf) replace
		

		
		
* Replicate Figure A4


		reg avail_amtalks treat_control_study2 i.partyID_merged BA_listserv
			margins, dydx(treat_control_study2)
				matrix avail_amtalks_ITT = r(table)
					matselrc avail_amtalks_ITT avail_amtalks_ITT, r(1, 5, 6) c(1)
		
		reg avail_amtalks treat_control_study2##BA_listserv i.partyID_merged
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix avail_amtalks = r(table)
					matselrc avail_amtalks avail_amtalks_non_BA, r(1, 5, 6) c(3)
					matselrc avail_amtalks avail_amtalks_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(avail_amtalks_ITT[1,]), ci((avail_amtalks_ITT[2,] avail_amtalks_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(avail_amtalks_non_BA[1,]), ci((avail_amtalks_non_BA[2,] avail_amtalks_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(avail_amtalks_BA[1,]), ci((avail_amtalks_BA[2,] avail_amtalks_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(avail_amtalks, replace) scheme(plotplain) ///
						xtitle("ITT on registrations for America Talks", margin(medsmall)) xlabel(-.5(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))

							graph export "Output/figure_A4.pdf", as(pdf) replace

							
						
* Replicate Figure A5


		reg attend_amtalks treat_control_study2 i.partyID_merged BA_listserv
			margins, dydx(treat_control_study2)
				matrix attend_amtalks_ITT = r(table)
					matselrc attend_amtalks_ITT attend_amtalks_ITT, r(1, 5, 6) c(1)
		
		reg attend_amtalks treat_control_study2##BA_listserv i.partyID_merged
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix attend_amtalks = r(table)
					matselrc attend_amtalks attend_amtalks_non_BA, r(1, 5, 6) c(3)
					matselrc attend_amtalks attend_amtalks_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(attend_amtalks_ITT[1,]), ci((attend_amtalks_ITT[2,] attend_amtalks_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(attend_amtalks_non_BA[1,]), ci((attend_amtalks_non_BA[2,] attend_amtalks_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(attend_amtalks_BA[1,]), ci((attend_amtalks_BA[2,] attend_amtalks_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(attend_amtalks, replace) scheme(plotplain) ///
						xtitle("ITT on attendance at America Talks", margin(medsmall)) xlabel(-.5(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))

							graph export "Output/figure_A5.pdf", as(pdf) replace

							
							

* Replicate Figure A6


		reg confront_racism_idx treat_control_study2 i.partyID_merged BA_listserv
			margins, dydx(treat_control_study2)
				matrix confront_racism_idx_ITT = r(table)
					matselrc confront_racism_idx_ITT confront_racism_idx_ITT, r(1, 5, 6) c(1)
		
		reg confront_racism_idx treat_control_study2##BA_listserv i.partyID_merged
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix confront_racism_idx = r(table)
					matselrc confront_racism_idx confront_racism_idx_non_BA, r(1, 5, 6) c(3)
					matselrc confront_racism_idx confront_racism_idx_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(confront_racism_idx_ITT[1,]), ci((confront_racism_idx_ITT[2,] confront_racism_idx_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(confront_racism_idx_non_BA[1,]), ci((confront_racism_idx_non_BA[2,] confront_racism_idx_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(confront_racism_idx_BA[1,]), ci((confront_racism_idx_BA[2,] confront_racism_idx_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(confront_racism_idx, replace) scheme(plotplain) ///
						xtitle("ITT on comfort confronting racist out-partisan speech", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))
						
		reg confront_misinfo_idx treat_control_study2 i.partyID_merged BA_listserv
			margins, dydx(treat_control_study2)
				matrix confront_misinfo_idx_ITT = r(table)
					matselrc confront_misinfo_idx_ITT confront_misinfo_idx_ITT, r(1, 5, 6) c(1)
		
		reg confront_misinfo_idx treat_control_study2##BA_listserv i.partyID_merged
			margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
				matrix confront_misinfo_idx = r(table)
					matselrc confront_misinfo_idx confront_misinfo_idx_non_BA, r(1, 5, 6) c(3)
					matselrc confront_misinfo_idx confront_misinfo_idx_BA, r(1, 5, 6) c(4)

				graph set window fontface "Times"
				coefplot (matrix(confront_misinfo_idx_ITT[1,]), ci((confront_misinfo_idx_ITT[2,] confront_misinfo_idx_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
					(matrix(confront_misinfo_idx_non_BA[1,]), ci((confront_misinfo_idx_non_BA[2,] confront_misinfo_idx_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
					(matrix(confront_misinfo_idx_BA[1,]), ci((confront_misinfo_idx_BA[2,] confront_misinfo_idx_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
						name(confront_misinfo_idx, replace) scheme(plotplain) ///
						xtitle("ITT on comfort confronting false out-partisan speech", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
						coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
						ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
						xline(0, lcolor(black) lpattern(dash)) ///
						legend(off) ///
						title("", margin(medsmall))
							
				graph combine confront_racism_idx confront_misinfo_idx, ycommon xcommon scheme(plotplain) col(2) name(confront_comb_ITT_bysample_1, replace)
					graph export "Output/figure_A6.pdf", as(pdf) replace

					
		
		
* Replicate Figure A7



		preserve

		use "Data/Cleaned/endline_2_merged_cleaned.dta", clear


				reg aff_pol_idx_noneg treat_control_study2 i.partyID_merged BA_listserv [pw = ipw_bysample]
					margins, dydx(treat_control_study2)
						matrix aff_pol_idx_noneg_ITT = r(table)
							matselrc aff_pol_idx_noneg_ITT aff_pol_idx_noneg_ITT, r(1, 5, 6) c(1)
				
				reg aff_pol_idx_noneg treat_control_study2##BA_listserv i.partyID_merged [pw = ipw_bysample]
					margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1)) 
						matrix aff_pol_idx_noneg = r(table)
							matselrc aff_pol_idx_noneg aff_pol_idx_noneg_non_BA, r(1, 5, 6) c(3)
							matselrc aff_pol_idx_noneg aff_pol_idx_noneg_BA, r(1, 5, 6) c(4)

						graph set window fontface "Times"
						coefplot (matrix(aff_pol_idx_noneg_ITT[1,]), ci((aff_pol_idx_noneg_ITT[2,] aff_pol_idx_noneg_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
							(matrix(aff_pol_idx_noneg_non_BA[1,]), ci((aff_pol_idx_noneg_non_BA[2,] aff_pol_idx_noneg_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
							(matrix(aff_pol_idx_noneg_BA[1,]), ci((aff_pol_idx_noneg_BA[2,] aff_pol_idx_noneg_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
								name(aff_pol_idx_noneg, replace) scheme(plotplain) ///
								xtitle("ITT on affective polarization", margin(medsmall)) xlabel(-.5(.25)1, nogrid) ///
								coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
								ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
								xline(0, lcolor(black) lpattern(dash)) ///
								legend(off) ///
								title("", margin(medsmall))

				reg aff_pol_idx_noneg_out treat_control_study2 i.partyID_merged BA_listserv [pw = ipw_bysample]
					margins, dydx(treat_control_study2)
						matrix aff_pol_idx_noneg_out_ITT = r(table)
							matselrc aff_pol_idx_noneg_out_ITT aff_pol_idx_noneg_out_ITT, r(1, 5, 6) c(1)
				
				reg aff_pol_idx_noneg_out treat_control_study2##BA_listserv i.partyID_merged [pw = ipw_bysample]
					margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
						matrix aff_pol_idx_noneg_out = r(table)
							matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_non_BA, r(1, 5, 6) c(3)
							matselrc aff_pol_idx_noneg_out aff_pol_idx_noneg_out_BA, r(1, 5, 6) c(4)

						graph set window fontface "Times"
						coefplot (matrix(aff_pol_idx_noneg_out_ITT[1,]), ci((aff_pol_idx_noneg_out_ITT[2,] aff_pol_idx_noneg_out_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
							(matrix(aff_pol_idx_noneg_out_non_BA[1,]), ci((aff_pol_idx_noneg_out_non_BA[2,] aff_pol_idx_noneg_out_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
							(matrix(aff_pol_idx_noneg_out_BA[1,]), ci((aff_pol_idx_noneg_out_BA[2,] aff_pol_idx_noneg_out_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
								name(aff_pol_idx_noneg_out, replace) scheme(plotplain) ///
								xtitle("ITT on affective polarization (out-party animus only)", margin(medsmall)) xlabel(-.5(.25)1, nogrid) ///
								coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
								ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
								xline(0, lcolor(black) lpattern(dash)) ///
								legend(off) ///
								title("", margin(medsmall))

				graph combine aff_pol_idx_noneg aff_pol_idx_noneg_out, ycommon xcommon scheme(plotplain) col(2) name(aff_pol_idx_comb_ITT_bysample_2, replace)
					graph export "Output/figure_A7.pdf", as(pdf) replace
					
		restore
		
		
		
* Replicate Figure A8



		preserve

		use "Data/Cleaned/endline_2_merged_cleaned.dta", clear


			
				reg confront_rac_mis_idx treat_control_study2 i.partyID_merged BA_listserv [pw = ipw_bysample]
					margins, dydx(treat_control_study2)
						matrix confront_rac_mis_idx_ITT = r(table)
							matselrc confront_rac_mis_idx_ITT confront_rac_mis_idx_ITT, r(1, 5, 6) c(1)
							
				reg confront_rac_mis_idx treat_control_study2##BA_listserv i.partyID_merged  [pw = ipw_bysample]
					margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
						matrix confront_rac_mis_idx = r(table)
							matselrc confront_rac_mis_idx confront_rac_mis_idx_non_BA, r(1, 5, 6) c(3)
							matselrc confront_rac_mis_idx confront_rac_mis_idx_BA, r(1, 5, 6) c(4)

						graph set window fontface "Times"
						coefplot (matrix(confront_rac_mis_idx_ITT[1,]), ci((confront_rac_mis_idx_ITT[2,] confront_rac_mis_idx_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
							(matrix(confront_rac_mis_idx_non_BA[1,]), ci((confront_rac_mis_idx_non_BA[2,] confront_rac_mis_idx_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
							(matrix(confront_rac_mis_idx_BA[1,]), ci((confront_rac_mis_idx_BA[2,] confront_rac_mis_idx_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
								name(confront_rac_mis_idx, replace) scheme(plotplain) ///
								xtitle("ITT on comfort confronting harmful out-partisan speech", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
								coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
								ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
								xline(0, lcolor(black) lpattern(dash)) ///
								legend(off) ///
								title("", margin(medsmall))

									graph export "Output/figure_A8.pdf", as(pdf) replace

									
			restore
			
			

			
* Replicate Figure A9


		preserve

		use "Data/Cleaned/endline_2_merged_cleaned.dta", clear


				reg confront_racism_idx treat_control_study2 i.partyID_merged BA_listserv [pw = ipw_bysample]
					margins, dydx(treat_control_study2)
						matrix confront_racism_idx_ITT = r(table)
							matselrc confront_racism_idx_ITT confront_racism_idx_ITT, r(1, 5, 6) c(1)
				
				reg confront_racism_idx treat_control_study2##BA_listserv i.partyID_merged  [pw = ipw_bysample]
					margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
						matrix confront_racism_idx = r(table)
							matselrc confront_racism_idx confront_racism_idx_non_BA, r(1, 5, 6) c(3)
							matselrc confront_racism_idx confront_racism_idx_BA, r(1, 5, 6) c(4)

						graph set window fontface "Times"
						coefplot (matrix(confront_racism_idx_ITT[1,]), ci((confront_racism_idx_ITT[2,] confront_racism_idx_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
							(matrix(confront_racism_idx_non_BA[1,]), ci((confront_racism_idx_non_BA[2,] confront_racism_idx_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
							(matrix(confront_racism_idx_BA[1,]), ci((confront_racism_idx_BA[2,] confront_racism_idx_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
								name(confront_racism_idx, replace) scheme(plotplain) ///
								xtitle("ITT on comfort confronting racist out-partisan speech", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
								coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
								ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
								xline(0, lcolor(black) lpattern(dash)) ///
								legend(off) ///
								title("", margin(medsmall))
												
				reg confront_misinfo_idx treat_control_study2 i.partyID_merged BA_listserv [pw = ipw_bysample]
					margins, dydx(treat_control_study2)
						matrix confront_misinfo_idx_ITT = r(table)
							matselrc confront_misinfo_idx_ITT confront_misinfo_idx_ITT, r(1, 5, 6) c(1)
				
				reg confront_misinfo_idx treat_control_study2##BA_listserv i.partyID_merged  [pw = ipw_bysample]
					margins, dydx(treat_control_study2) at(BA_listserv=(0(1)1))
						matrix confront_misinfo_idx = r(table)
							matselrc confront_misinfo_idx confront_misinfo_idx_non_BA, r(1, 5, 6) c(3)
							matselrc confront_misinfo_idx confront_misinfo_idx_BA, r(1, 5, 6) c(4)

						graph set window fontface "Times"
						coefplot (matrix(confront_misinfo_idx_ITT[1,]), ci((confront_misinfo_idx_ITT[2,] confront_misinfo_idx_ITT[3,])) recast(scatter) ciopts(lcolor(black) lpattern(solid)) mcolor(black) msymbol(square)) ///
							(matrix(confront_misinfo_idx_non_BA[1,]), ci((confront_misinfo_idx_non_BA[2,] confront_misinfo_idx_non_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(longdash)) mcolor(black) msymbol(circle)) ///
							(matrix(confront_misinfo_idx_BA[1,]), ci((confront_misinfo_idx_BA[2,] confront_misinfo_idx_BA[3,])) recast(scatter) ciopts(lcolor(black) lpattern(shortdash)) mcolor(black) msymbol(triangle)), ///
								name(confront_misinfo_idx, replace) scheme(plotplain) ///
								xtitle("ITT on comfort confronting false out-partisan speech", margin(medsmall)) xlabel(-1(.25).5, nogrid) ///
								coeflabels(treat_control_study2 = "Full sample" 1._at = "L2 database" 2._at = "BA listserv") offset(0) ///
								ytick(1.5, notick glpattern(solid) glcolor(gray)) ///
								xline(0, lcolor(black) lpattern(dash)) ///
								legend(off) ///
								title("", margin(medsmall))
									
				graph combine confront_racism_idx confront_misinfo_idx, ycommon xcommon scheme(plotplain) col(2) name(confront_comb_ITT_bysample_2, replace)
					graph export "Output/figure_A9.pdf", as(pdf) replace

	restore
		
		
		
		